Image restoration has been proven to be a difficult problem. There are several techniques that have been proposed for the recovery of images, including images of symbols such as barcodes. Proposed methods include inverse filtering, least squares (Wiener) filtering, and iterative inverse filtering, among others. As a general rule, the use of inverse filters is not practical because they are highly susceptible to noise. Furthermore, there may be points or regions in the frequency domain such that the transform function values of those points or regions are zero or very small. The inverse function of a point having a zero value is undefined. The inverse function of a point having a very small value is assigned a very large and unrealistic value that tends to distort the reconstructed image.
Least squares methods provide solutions that are considered to be “best fits” to sets of data. However, if some of the data is corrupted, or is missing, the application of a least squares fitting method will provide a solution that is influenced by the corrupted data, or that fails to take into account the missing data. In either event, the “best fit” solution can be seriously in error as compared to an analysis of data that is complete and uncorrupted.
As indicated, a number of problems in decoding corrupted, distorted or incomplete image data representing symbols such as barcodes have been observed. There is a need for systems and methods that correctly interpret image data representing symbols that is acquired from objects that are situated beyond the extremities of the depth of field of the image acquisition system, particularly beyond the pixel resolution limitation or due to smearing caused by motion.